Reverse Engineering by Visualizing and Querying
نویسندگان
چکیده
The automatic extraction of high-level structural information from code is important for both software maintenance and reuse. Instead of using specialpurpose tools, we explore the use of a general-purpose data visualization system called Hy+ for querying and visualizing information about object-oriented software systems. Hy+ supports visualization and visual querying of arbitrary graph-like databases. We store information about software systems in a database and use Hy+ for analyzing the source code and visualizing various relationships. In this paper we demonstrate the use of Hy+ for evaluating software metrics, verifying constraints, and identifying design patterns. Software metrics can be used to find components with low reusability or components that are hard to understand. Checking the source code against constraints can help bring design flaws to light, eliminate sources of errors, and guarantee consistent style. Identifying design patterns in a software system can reveal design decisions and facilitate understanding the code. We conclude that the flexibility achieved by using a generalpurpose system like Hy+ gives this approach advantages over special-purpose reverse-engineering tools, although specialized tools will have better performance and more knowledge of specific software engineering tasks. Combining the advantages of the two approaches is an interesting challenge.
منابع مشابه
SPARQLByE: Querying RDF data by example
Semantic Web technologies such as RDF and its query language, SPARQL, offer the possibility of opening up the use of public datasets to a great variety of ordinary users. But a key obstacle to the use of open data is the unfamiliarity of users with the structure of data or with SPARQL. To deal with these issues, we introduce a system for querying RDF data by example. At its core is a technique ...
متن کاملA Formalism for Visual Query Interface Design
transformation models are able to be extended unlimitedly in both the horizontal and vertical directions. Fig. 6: Recursive Models: (a)recursive visualizations; (b)recursive queries; (c)iterative model. Figure 7 not only shows the result of visualizing a visualization, but also gives a visualization for the mapping itself. Figure 8 presents querying on queries by specifying query terms on the q...
متن کاملVisualization of Tolerance for Manufacturing
In this work we address the problem of visualizing the uncertainty in sensed data for manufacturing applications Constructing geometric models for the objects from sense data is the intermediate step in a reverse engineering manufacturing system Sensors are usually inaccurate providing uncertain sense information We construct geometric entities with uncertainty models for the objects under cons...
متن کاملMoose: a Collaborative and Extensible Reengineering Environment
Software systems are complex and difficult to analyze. Reverse engineering is a complex analysis that usually involves combining different techniques and tools. Moreover, oftentimes the existing tools are not perfectly suitable for the task, and customization of existing tools, or development of new tools is required. Moose is an extensible reengineering environment designed to provide the nece...
متن کاملVisualizing Legacy Systems with UML
Understanding a system is of critical importance to a developer. A developer must be able to understand the business processes being modelled by the system along with the system’s functionality, structure, events, and interactions with external entities. This understanding is of even more importance in reverse engineering. Although developers have the advantage of having the source code availab...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Software - Concepts and Tools
دوره 16 شماره
صفحات -
تاریخ انتشار 1995